package com.sgcc.epri.dcloud.mapper.dm;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sgcc.epri.dcloud.pojo.AssetTypeParamCenter;
import com.sgcc.epri.dcloud.pojo.FractureSurfaceOrc;
import com.sgcc.epri.dcloud.pojo.ManagementUnit;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface Mapper extends BaseMapper {

    List<Map> findSql(@Param("sql") String sql);

    List<Map<String, Object>> queryTableNameAll();

    List<Map<String, Object>> integrality(@Param("tableNameCenter") String tableNameCenter, @Param("list") List<AssetTypeParamCenter> param,
                     @Param("classType") String classType, @Param("managementUnits") List<ManagementUnit> managementUnits, @Param("fractureSurfaceOrcs") List<FractureSurfaceOrc> fractureSurfaceOrcs);

    List<Map<String, Object>> integralityOneLevel(@Param("tableNameCenter") String tableNameCenter, @Param("list") List<AssetTypeParamCenter> param,
                                                  @Param("classType") String classType, @Param("managementUnits") List<ManagementUnit> managementUnits,
                                                  @Param("fractureSurfaceOrcs") List<FractureSurfaceOrc> fractureSurfaceOrcs);

    List<Map<String, Object>> integralityTwoLevel(@Param("tableNameCenter") String tableNameCenter, @Param("list") List<AssetTypeParamCenter> param,
                                                  @Param("classType") String classType, @Param("managementUnits") List<ManagementUnit> managementUnits,
                                                  @Param("fractureSurfaceOrcs") List<FractureSurfaceOrc> fractureSurfaceOrcs);

    List<Map<String, Object>> queryAssetRuleNum();
}
